Kiến trúc Internet Explorer

Kiến trúc của IE8. Các phiên bản trước có kiến trúc tương tự, ngoại trừ cả các thẻ (tab) lẫn giao diện đều thuộc cùng tiến trình (process). Do đó, mỗi cửa sổ trình duyệt chỉ có thể có một "tiến trình thẻ".

Internet Explorer sử dụng kiến trúc phân rã thành phần được xây dựng xoay quanh công nghệ Mô hình Đối tượng Thành phần (Component Object Model - COM). Nó bao gồm năm thành phần chính, mỗi thành phần được chứa trong một thư viện .dll riêng rẽ và đưa ra một tập các interface COM cho phép được chứa trong tập tin thực thi chính của Internet Explorer, iexplore.exe:[43]

WinInet.dllWinInet.dll là bộ xử lý giao thức dành cho HTTPFTP. Nó xử lý tất cả các giao tiếp mạng thông qua các giao thức này.URLMon.dllURLMon.dll chịu trách nhiệm xử lý kiểu MIME và việc tải về các nội dung web-type handling and download of web.MSHTML.dllMSHTML.dll giữ bộ máy biểu diễn Trident được giới thiệu từ Internet Explorer 4, chịu trách nhiệm hiển thị trang lên màn hình và xử lý Mô hình Đối tượng Tài liệu (DOM) của trang web. MSHTML.dll sẽ phân tích các tập tin HTML/CSS và tạo ra dạng biểu diễn cây DOM cho nó. Nó cũng đưa ra một tập các API dành cho việc duyệt và điều chỉnh cây DOM trong khi đang chạy. Cây DOM được bộ máy trình bày xử lý kỹ hơn rồi sau đó được biểu diễn thành cách trình bày lên màn hình.IEFrame.dllIEFrame.dll chứa giao diện người dùng và cửa sổ IE trong Internet Explorer 7 trở về trước.ShDocVw.dllShDocVw.dll cung cấp các tác vụ để duyệt web, lưu bộ đệm và lịch sử cho trình duyệt.BrowseUI.dllBrowseUI.dll chịu trách nhiệm giao diện người dùng trình duyệt, bao gồm chrome của trình duyệt, tức là tất cả các trình đơn và thanh công cụ[44].

Internet Explorer không chứa bất kỳ chức năng tạo kịch bản nào bên trong nó. Mà chính MSHTML.dll sẽ đưa ra một tập API khác để cho phép các môi trường tạo kịch bản được nhúng vào và truy xuất cây DOM. Internet Explorer 8 có gắn sẵn bộ máy Active Scripting (là một phần của Microsoft Windows), cho phép bất cứ ngôn ngữ nào được hiện thực thành một module Active Scripting có thể được dùng để tạo kịch bản từ phía máy khách. Mặc định, chỉ có module JScriptVBScript là được cung cấp; các hiện thực từ bên thứ ba như ScreamingMonkey (để hỗ trợ ECMAScript 4) cũng có thể dùng được. Microsoft cũng đưa ra trình chạy Microsoft Silverlight để cho phép ngôn ngữ CLI, bao gồm các ngôn ngữ động dựa trên DLR như IronPythonIronRuby, dùng cho việc tạo kịch bản từ phía máy khách.

Internet Explorer 8 giới thiệu một vài thay đổi lớn, có tên là Loosely Coupled IE (LCIE). LCIE tách các tiến trình giao diện ra khỏi tiến trình chứa các ứng dụng web khác nhau tại các thẻ khác nhau (tiến trình thẻ). Một tiến trình giao diện có thể tạo ra nhiều tiến trình thẻ, mỗi tiến trình thẻ có thể có độ tích hợp khác nhau; mỗi tiến trình thẻ có thể chứa nhiều website và có bộ đệm cookie của riêng nó. Hai tiến trình sử dụng Liên lạc Liên Tiến trình (Inter-Process Communication) bất đồng bộ để tự đồng bộ chúng. Nói chung, sẽ có một tiến trình thẻ dành cho tất cả các web site. Tuy nhiên, trong Windows Vista nếu bật chế độ bảo vệ, nội dung ưu tiên đang được mở (như các trang HTML trong máy) sẽ tạo ra một tiến trình thẻ mới vì nó không bị ràng buộc bởi chế độ bảo vệ[45].

Liên quan

Tài liệu tham khảo

WikiPedia: Internet Explorer http://www.tatanka.com.br/ http://www.tatanka.com.br/ies4linux/page/Beta http://www.tatanka.com.br/ies4linux/page/Main_Page http://arstechnica.com/news.ars/post/20070502-micr... http://www.axistive.com/smil-standards-and-microso... http://www.bleepingcomputer.com/virus-removal/remo... http://www.blooberry.com/indexdot/history/netscape... http://www.cnn.com/TECH/9709/30/ms.explorer/ http://www.cnn.com/TECH/computing/9810/08/browser.... http://www.codedread.com/svg-support.php